Multi-User Alpha Anywhere Applications
Description
This topic is a collection of recommendations by experienced Alpha Anywhere developers about the best way to create multi-user applications. The following is a diagram of an "optimal" multi-user architecture. The most critical point is the distinction between the computers with real databases and shadow databases.
Shared folders
Comment
Make sure that the folders for the shared databases are shared for full control by all users. Define the drive letters and folder names of the shared folders using addin variables in the autoexec scripts. This provides a common variable pointing to proper paths. If you ever need to move your tables, then all you need to do is to change the reference in one place. Place shadow databases in subfolders in the shadow folder within the a5v5runtime folder.
When Alpha Anywhere updates a shadow database, it does not create new subfolders.
Minimizing Network Overhead
Comment
Use Shadow Databases and Lightning Query Optimization. For more thoughts from Jim Chapman, see Minimizing Network Overhead.
Development
Comment
It is a good idea to take backup "snapshots" at frequent stages of the development.
Maintenance
Comment
Know how to distribute A5 patches to all workstations.
Install the real and the shadow databases in the same-named directory on every workstation.
Know how to produce a shadow refresh: both a system-side method as well as a single-workstation method.
Administration
Comment
These are just a few issues to consider from someone who has built a large multi-user database:
Who will maintain the network?
Who will set and maintain security for users?
What level of access will users have?
If you are a remote developer, how do you plan on getting into the system from where you are?
If the system is up and running all day, when do you schedule routine maintenance tasks?
How strong is your server, does it require a lot of hands-on babysitting?
If there is more than one database, which one or ones get shadowed on different machines?
Unique IDs
Comment
Most applications need to generate unique record IDs. Some developers prefer to generate their own unique numbers, rather than using the autonumber feature of field rules. Peter Wayne suggests a comprehensive solution in this article: Program your own Autoincrement field.
Thanks To
Russ Boehle, Tom Cone Jr., Thomas Henkel, Barry Rochford, Peter Wayne, Steve Workings
See Also